package com.ruoyi.dto;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @BelongsProject: AltronBoot
 * @BelongsPackage: org.wql.dto
 * @Author: 阿隆
 * @CreateTime: 2024-10-18 17:13
 * @Description: 统一格式返回前端数据传输对象
 * @Version: 1.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ResponseDTO {
    //code 字段表示响应状态码，一般用整数值表示不同的状态。
    private Integer code;
    //msg 字段表示响应消息，用字符串表示具体的描述信息。
    private String msg;
    //data 字段用于存储具体的数据对象，可以根据需要指定其类型。
    private Object data;

    /**
     * @description: 成功调用的DTO
     * @Param o:Object
     * @return: com.wql.dto.ResponseDTO
     */
    public static ResponseDTO success(Object o) {
        return new ResponseDTO(1, "success", o);
    }

    /**
     * @description: 失败调用的DTO
     * @Param o:Object
     * @return: com.wql.dto.ResponseDTO
     */
    public static ResponseDTO fail(Object o) {
        return new ResponseDTO(-1, "error", o);
    }


    /**
     * @Description: 返回值是影响的行数
     * @Param: [res]
     * @return: org.wql.dto.ResponseDTO
     */
    public static ResponseDTO effectResult(Integer res) {

        return res > 0 ? success(null) : fail(null);
    }

}
